function [vx] = GfnzNQ(h,k,epsilon)

% inizializzo x
x= [5,5]';

% inizializzo la direzione di ricerco
p = -grad(h,k,x);
MAX_IT = 500;
it = 0;
threshold = 99999;
vx(it+1,:)=x;
while(threshold > epsilon && it < MAX_IT)
    alpha = (-grad(h,k,x)' * p) / (p' * (myh(h,k,x)) * p);
    
    % salvo x k meno uno per il calcolo del threshold
    xkminusone = x;
    x = x + alpha * p;
    p = -grad(h,k,x);
    it = it + 1;
    threshold = norm(x - xkminusone);
    vx(it+1,:)=x;
    
end

%valore_minimo = f(h,k,x)
%minx = x;

end